﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace DoveyGeneric
{
    public class CommonMethod
    {
        /// <summary>
        /// 泛型方法：
        /// 
        /// 泛型是NetFramework2.0出来的
        /// 包含了以下的升级
        ///     1 编译器升级，支持类型参数，用占位符`1、`2来表达
        ///     2 CLR 升级才能支持占位符：运行的时候，会把类型确定，会把占位符替换成具体的类型
        ///  泛型不是语法糖，
        ///  
        /// 语法糖是编译器的功能
        /// </summary>
        /// <typeparam name="T">类型参数 调用的时候，确定类型</typeparam>
        /// <param name="para"></param>
        public static void Show<T>(T para) {
            Console.WriteLine("This is {0},parameter={1},type={2}",typeof(CommonMethod),para.GetType().Name,para);
        }
    }
}
